package com.tckdq.tcc.service;

import com.tckdq.tcc.domain.Course;
import com.baomidou.mybatisplus.service.IService;
import com.tckdq.tcc.dto.CourseAddDto;
import com.tckdq.tcc.dto.CourseDetailDto;
import com.tckdq.tcc.result.JsonResult;
import com.tckdq.tcc.vo.CourseDataForOrderVO;
import com.tckdq.tcc.vo.CourseStateVO;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author whale
 * @since 2022-08-16
 */
public interface ICourseService extends IService<Course> {

    JsonResult listForUser();

    void save(CourseAddDto ourseAddDto);

    void deleteByCode(String invitationCode);

    void onLineCourse(Long id);

    void offLineCourse(Long id);

    void recommendCourse(Long id);

    List<Course> getrecommendCourses();

    List<Course> gethotRecommendClourses();

    CourseDetailDto getCourseDetailByCourseId(Long id);

    CourseDataForOrderVO selCourseForOrder(String courseStrIds);

    CourseStateVO selectCourseStatusForUser(Long id);
}
